/**
 * 角色模块校验文件
 */

const joi = require('joi');
const { messages } = require('./common');

/**
 * 校验添加
 */
const validAdd = joi.object({
    name: joi.string().label('角色名称').required().max(20).messages(messages),
    description: joi.string().label('角色描述').required().max(100).messages(messages),
});

/**
 * 校验修改
 */
const validUpdate = joi.object({
    id: joi.number().integer().label('id').min(1).required().messages(messages)
}).concat(validAdd);

/**
 * 校验设置权限
 */
const validSetRights = joi.object({
    role_id: joi.number().integer().label('角色id').required().min(1).messages(messages),
    menu_ids: joi.array().label('菜单id').items(joi.number().integer().label('菜单id').messages(messages)).required().messages(messages)
});

module.exports = {
    validAdd,
    validUpdate,
    validSetRights
}